import Vue from "vue";
import Vuex from "vuex"
Vue.use(Vuex)

// 用于响应组件中的动作（这里写业务逻辑）
const actions = {
    // 这没做业务逻辑处理，所以没啥用
    // jia (context, value) {
    //     console.log('jia被调用了', value);
    //     context.commit('JIA', value)
    // },
    // jian (context, value) {
    //     console.log('jian被调用了');
    //     context.commit('JIAN', value)
    // },
    jiaodd (context, value) {
        console.log('jiaodd');
        if (context.state.sum % 2) {
            context.commit('JIA', value)
        }
    },
    jiawait (context, value) {
        console.log('jiawait');
        setTimeout(() => {
            context.commit('JIA', value)
        }, 1000)
    }

}
// 用于操作数据（state）
const mutations = {
    JIA (state, value) {
        console.log('JIA被调用了');
        state.sum += value
    },
    JIAN (state, value) {
        console.log('JIAN被调用了');
        state.sum -= value
    }
}
// 用于存储数据
const state = {
    sum: 0,
    school: '北大',
    student: '学生'
}

const getters = {
    bigSum (state) {
        return state.sum * 10
    }
}


export default new Vuex.Store({
    actions,
    mutations,
    state,
    getters
})